home *** CD-ROM | disk | FTP | other *** search
/ Die Ultimative Software-P…i Collection 1996 & 1997 / Die Ultimative Software-Pakete CD-ROM fur Atari Collection 1996 & 1997.iso / d / diskmoni / templm12 / liesmich next >
Encoding:
Text File  |  1996-11-17  |  12.9 KB  |  235 lines

  1.                                                         Oldenburg, den 23.9.87
  2.  
  3. Verehrte(r) 68000-Enthusiast(in),
  4.  
  5.             TEMPLEMON ist ein Maschinensprachemonitor und Debugger.
  6.  
  7. Die Versionen 1.xx sind , aber nur im Ordner zusammen mit den anderen Dateien,
  8.  
  9.                             FREI KOPIERBAR !
  10.  
  11. Sie dürfen nicht gewerblich genutzt oder verkauft werden.
  12.  
  13. Die Intention ist dabei, daß sich möglichst viele Atari ST-Anwender von diesem
  14. für viele Anwender wertvollen Werkzeug überzeugen können ! Bitte kopieren Sie
  15. also den Ordner mit diesen Dateien weiter !
  16.  
  17. TEMPLEMON funktioniert sowohl mit dem Monochrom- als auch mit einem
  18. Farbmonitor.
  19.  
  20. Der Monitor braucht nur einmal gestartet werden (z.B. einfach in den AUTO-
  21. Ordner der Boot-Diskette kopieren), dann hat er sich im System installiert.
  22. Tritt nun ein Fehler auf, der sonst nur so ein paar gar nicht so lustige
  23. Bömbchen auf den Bildschirm zaubert, können Sie sich nunmehr freuen, dafür
  24. ausführlich vom Monitor unterrichtet zu werden. Und wenn Sie mal kurz in den
  25. Monitor wollen, um im Speicher herumzuwühlen, brauchen Sie nur SHIFT/ALT/HELP
  26. zu drücken.
  27.  
  28. Mit dem Befehl "VI" können Exceptionvektoren, die von anderen Monitorprogrammen
  29. evtl. zerstört wurden, wieder eingerichtet werden.
  30.  
  31. Wenn Sie nun schon vollkommen von diesem Programm begeistert sind, dürfen Sie
  32. den nächsten Absatz überpringen.
  33.  
  34. Um sich die Fähigkeiten des Monitors/Debuggers einmal demonstrieren zu lassen,
  35. stellen Sie sich folgendes vor:
  36. Ein Programm von Ihnen ist noch nicht fehlerfrei. Sie wissen, daß unter unbe-
  37. kannten Umständen igendwelche genau überprüfbaren Dinge passieren, z.B, daß
  38. eine bestimmte Variable manchmal einen völlig sinnlosen Wert erhält. Nun könn-
  39. ten Sie sich natürlich an die Arbeit machen, an allen möglichen Stellen Ihres
  40. Programms Abfragen extra dafür einzubauen, um so ungefähr die Stelle zu fin-
  41. den, wo der Fehler erzeugt wird. Doch Tarraaa !! Hier tritt der TEMPLEMON auf
  42. den Plan: Mit Hilfe eines kleinen Hilsprogramms, das schon bis auf die eigent-
  43. liche Abfrage der Fehlersituation vorprogrammiert ist (siehe Datei TRACE.C),
  44. können Sie den Debugger anweisen, nach jeder ausgeführten Assembler-Instruk-
  45. tion das kleine Hilfsprogramm aufzurufen, das Sie dann natürlich so program-
  46. miert haben, daß es immer direkt die Fehlerauswirkung überprüft und bei Er-
  47. kennen des Fehlers diesen sofort vom Monitor anzeigen läßt.
  48. Als Beispiel können Sie das Programm TRACE.TOS starten, sofern der Monitor
  49. vorher schon einmal gestartet wurde. Es paßt darauf auf, daß oben links auf
  50. dem Bildschirm nichts Schwarzes auftaucht. Wenn Sie den Anweisungen des Pro-
  51. gramms TRACE.TOS folgen und mit dem Maus-Cursor dann nach oben links gehen,
  52. wird Sie das Programm sofort dabei erwischen.
  53.  
  54. Wenn Sie das dann von der Nützlichkeit dieses Monitors überzeugt, bitte ich
  55. Sie, mir dafür einem Betrag von zwanzig D-Mark zu schicken. Damit zeigen Sie
  56. mir, daß mein Programm wieder einen zufriedenen Anwender gefunden hat und
  57. ich sende Ihnen dafür eine noch umfangreichere Anleitung für den Monitor
  58. mit nützlichen, praxisbezogenen Tips für die Fehlersuche, mit genauen
  59. Beschreibungen, wie die genauen Abläufe der Funktionen, wie z.B. der Trace-
  60. Funktion, aussehen und wie sich der Monitor im System einbettet (Benutzung
  61. von Vektoren, Verhalten bei Interrupts, usw.).
  62.  
  63. Um eventuellen Fragen vorzubeugen, lassen Sie sich gleich sagen, daß dieser
  64. Monitor nicht mit Symbolen (wie z.B. der SID) arbeiten kann ! Auch ist es
  65. nicht möglich, Programme zu laden, um sie dann zu starten. Dies ist konzep-
  66. tionsbedingt bei TEMPLEMON nur schwer lösbar. Stattdessen sollten Sie TEMPLEMON
  67. als ständigen Hintergrundmonitor verwenden, der für Sie in jeder Situation auf
  68. Fehler aufpaßt. Er kann also nicht einen vollwertigen Debugger ersetzen, dafür
  69. aber sinnvoll ergänzen !
  70.  
  71.  
  72.              Funktionsübersicht TEMPLEMON /Version 1.12/ 6.2.88
  73.              --------------------------------------------------
  74.                     Copyright (C) 1986, Thomas Tempelmann
  75.    Thomas Tempelmann, Nordendstr. 64, 8000 München 40, West Germany
  76. ------------------------------------------------------------------------------
  77. Die Versionen 1.x dieses Monitors sind frei kopierbar. Allerdings nur in der
  78. Originalversion, das schließt ein, daß dieser Text incl. der Urheberrechts-
  79. angabe nicht gelöscht werden darf und daß immer der ganze Ordner, in dem
  80. sich dieser Monitor befindet, kopiert wird (mit den Dateien READ.ME, TRACE.C,
  81. TRACE.TOS und TEMPLMON.PRG) ! Bitte haben Sie Verständnis dafür, denn nur auf
  82. diese Weise kann dieses Konzept der "public domain"-Programme hier in Europa
  83. die gleiche Selbstverständlichkeit erlangen, wie es das in Nordamerika schon
  84. seit mehreren Jahren hat.
  85.   Vielen Dank für Ihre Rücksicht und : GOOD HUNTING !
  86.  
  87.  "!" zeigt Eingabebereitschaft des Monitors an.
  88.  Alle Werte sind hexadezimal angegeben/anzugeben !
  89.  Dezimale Werte können mit vorangestelltem "&" eingegeben werden.
  90.  <f> steht für die Anfangsadresse, <e> für die erste ausgeschlossene Adr. !
  91.  Anstatt <e> kann auch X<n> ( Anzahl in Bytes ) angegeben werden, in manchen
  92.  Fällen kann auch Z<n> ( Anzahl der anzuzeigenden Zeilen ) verwandt werden.
  93.  Bei den Funktionen "M", "D" und "I" kann statt der Endadr. auch ein Punkt
  94.  eingeben werden, um eine unendliche Auflistung zu erreichen.
  95.  Als Adresse kann auch ein Registerinhalt ( mit "R<registername>") eingegeben
  96.  werden. Beispiel: "D R PC." disassembliert ab aktueller PC-Adr.
  97.  
  98.  Alle Auflistungen können mit der /SPACE/-Taste angehalten oder mit einer
  99.  anderen Taste abgebrochen werden.
  100.  Einer Adresse kann die Offset-Variable O vorangestellt werden (s.u.).
  101.  Die Tasten /F1/ und /F2/ schalten die Anzeige (!) des Monitor- bzw. des Origi-
  102.  nal-Bildschirms um. Zur Beachtung: Verlassen wird TEMPLEMON mit 'G' oder 'Q' !
  103.  
  104. M <f> <e>               Memory dump. Zeigt Speicher byteweise an.
  105. : <f> <w1> <w2>...      Speichert Bytes <w..> ab Adresse <f>.
  106. D <f> <e>               Disassembliert Speicherbereich.
  107. O <offs>                Setzt die Variable "O" auf den Wert <offs>.
  108. C <f> <e> <d>           Kopiert Bytes von <f>..<e>-1 nach <d>..<d>+(<e>-<f>)
  109. V <f> <e> <d>           Verify. Vergleicht Bytes und zeigt Unterschiede an.
  110. H <f> <e> <b1> <b2>...  Hunt. Sucht nach Bytes (? als Joker).
  111. H <f> <e> '<string>           Sucht nach Zeichenkette (? als Joker).
  112. F <f> <e> <b1> <b2>...  Füllt Speicher mit Bytes (? als Joker).
  113. F <f> <e> '<string>     Füllt Speicher mit Zeichenkette (? als Joker).
  114. I <f> <e>               ASCII dump.
  115. ' <f> <string>          Speichert ASCII-Zeichenkette in den Speicher.
  116. B                       Zeigt alle Breakpoints (BP) an (Adresse,Zähler,Stand)
  117. B<n> <a> <c> <c0>       Setzt BP Nr. <n> auf Adresse <a>.
  118. B-                      Löscht alle BPs.
  119.   Breakpoints werden beim Verlassen des Monitors gesetzt, sofern das Tracebit
  120.   im SR nicht gesetzt ist (sonst kann die Traceroutine die BPs testen).
  121.  
  122. G <f>                   Go. Verläßt Monitor und fährt auf Adr. <f> fort.
  123. GS <f>                  Ruft Unterprogramm auf, das mit RTS abschliessen
  124.                           muß, um wieder in den Monitor zurückzugelangen.
  125. T+ ( T- )               Tracekontrollmodus einschalten ( bzw. ausschalten ).
  126.   Wenn der Tracemodus eingeschaltet ist und "G" ausgeführt wurde, lösen
  127.   folgende Tasten eine Funktion aus :
  128.     /SPACE/ führt die angezeigte Instruktion aus.
  129.     /ESC/   verläßt Tracekontrollprogramm, um normale Monitorfunktionen
  130.               auszuführen. Rückkehr mit "G".
  131.     /O/     schaltet Anzeige und Tastenabfrage ab und führt Programm weiter
  132.               aus. Dabei muß dafür gesorgt werden, daß das Programm wieder
  133.               in die Monitoreingabe zurückkehrt, z.B. über einen BP !
  134.     /A/     wie /O/, jedoch werden alle Instruktionen getraced, also auch
  135.               Trap-Routinen usw., da das Trace-Bit im SR immer wieder gesetzt
  136.               wird. Nur, wenn ein Diskzugriff stattfindet, oder vom Programm
  137.               die Interruptmaske auf 7 gesetzt wurde, wird das Tracebit nicht
  138.               vor Ausführung der nächsten Instruktion gesetzt.
  139.     /R/     schaltet Ein-/Ausgabe bis zur Rückkehr aus dem augenblicklichen
  140.               Unterprogramm ab. Ist das T-Flag Null, wird einfach eine Rück-
  141.               sprungadresse in den Monitor auf den Stack geladen. Natürlich
  142.               muß dann A7 so stehen, daß beim RTS die Adresse auch vom Stack
  143.               geholt wird. Ist das T-Flag gesetzt, merkt sich der Monitor das
  144.               A7-Register und wartet auf ein RTS, RTE oder RTR, sofern A7 nicht
  145.               kleiner als das gemerkte A7 ist, und schaltet dann die Anzeige
  146.               wieder ein.
  147.     ...     jede Menge neue Funktionen seit Version 1.4 !
  148.  
  149.   Für die folgenden Register-Operationen können die Register <reg> mit den
  150.   üblichen Abkürzungen (D0,A7,SR,PC,SSP,USP,usw.) angegeben werden.
  151.   Außerdem steht F für SR, jedoch werden dann die Flags einzeln angezeigt.
  152.   A7 repräsentiert, abhängig vom augenblicklichen Stand des S-Bits im SR,
  153.   den jeweiligen Stackpointer (SSP bzw. USP).
  154. R                       Zeigt die mit "R:" ausgewählten Register an.
  155. R <reg> = <l>           Setzt Wert <l> in Register.
  156. R: <reg1> <reg2>...     Wählt Register-Default-Anzeige aus (z.B. f. Trace).
  157. R F<SR-Flag> = <v>      Setzt SR-Flag auf <v> (z.B. "R FC=1" setzt Carry-Flag)
  158.  
  159. P                       löscht Bildschirm.
  160. Q                       Quit ( GEMDOS(0) ). Achtung: Wenn vom Desktop in den
  161.                         Monitor gelangt wurde, niemals "Q" auslösen, sondern
  162.                         nur "G" eingeben ! "Q" dient zum Abbrechen des gerade
  163.                         aktiv gewesenen Programms, "G" führt es weiter aus !
  164.  
  165. Erweiterungen seit V1.3:
  166. S <dateiname>, <f> <e>  Speichert Bereich v. <f> bis <e>-1 in eine Datei.
  167. P <dateiname>           Öffnet Protokolldatei. Alle Ausgaben gehen dann sowohl
  168.                         auf den Bildschirm als auch auf die Datei. Beispiel:
  169.                         "P PRN:" protokolliert alle Ausgaben auf dem Drucker.
  170. PC                      Schließt Protokolldatei.
  171.  
  172. Erweiterungen und Fehlerkorrekturen seit V1.4:
  173.  Wird nicht verraten. Dazu müssen Sie sich schon die Anleitung bei mir holen.
  174.  Nur soviel: Vor Allem der Tracemodus ist noch um einige wertvolle Funktionen
  175.  erweitert worden.
  176.  
  177. Neuheiten in V1.5:'
  178. L <dateiname>          Lädt Datei, Speicher wird automatisch mit 'Malloc' an-
  179.                        gelegt, sofern kein Fehler auftrat. Achtung: Eignet sich
  180.                        nicht zum Laden von Programmen, da nicht reloziert wird!
  181.                        Es empfiehlt sich, immer Zettel und Stift bereit zu hal-
  182.                        ten, um sich die Anfangs-/Endadressen zu notieren.
  183. L- <f>                 Gibt Speicher, der beim Laden angefordert wurde, wieder
  184.                        frei. <f> muß dabei die Adresse sein, die beim Laden
  185.                        als Anfangsadresse ausgegeben wurde.
  186. L <dateiname>, <f>     Lädt Datei an die Adresse <f>.
  187.  
  188. Es ist nun bei Adreßangaben möglich, Ausdrücke mit "+" und "-" zu verwenden,
  189. so ist z.B. nach einem Monitoreinsprung der Bereich vor der Unfalladresse mit
  190.   "D RPC-20." leicht zu disassemblieren.
  191.  
  192. Direkt nach dem Dateinamen bei Load kann mit einem vorgestellten "@" die Posi-
  193.   tion in der Datei bestimmt werden, ab der gelesen werden soll. Beispiel:
  194.   "L TERMINA.TOR, @100, 50000x20" lädt aus der Datei "TERMINA.TOR" ab dem 256.
  195.   Byte 32 Bytes an die Adresse ab $50000. Auf die gleiche Weise kann ein bes-
  196.   timmter Bereich einer Datei überschrieben werden. Z.B. überschreibt "S A:
  197.   B.TXT,@&12,0.2" die Daten der Datei B.TXT in den 12. und 13. Bytes mit den
  198.   Werten aus den Adressen 0 und 1.
  199.  
  200. Die Protokollausgaberoutinen sind verbessert worden.
  201.  
  202. In Version 1.6 wurden 2 Fehler behoben:
  203. - Breakpoints, die im ROM-Bereich gesetzt wurden, konnten bisher oft nicht er-
  204.   kannt werden. Die Wahrscheinlichkeit, daß dies immer noch passiert, ist nun
  205.   verringert worden.
  206. - Bei der Funktion mit dem Hochkomma (') können nun wieder Kleinbuchstaben ein-
  207.   gegeben werden.
  208.  
  209. V 1.7:
  210. - Bei Protokollausgaben werden nun wirklich keine Ctrl-Zeichen mehr ausgegeben.
  211. - "VI" reinitialisiert auch Bus-/Address-Error Vektoren.
  212. - "GS" und "R" funktionieren wieder bei FT=0 richtig.
  213.  
  214. V 1.8:
  215. - Farbdarstellung fehlerfrei in Mid-Res.
  216.  
  217. V 1.9:
  218. - Tasteneingabe auch bei IR-Level=7 möglich.
  219.  
  220. V 1.11:
  221. - Hardcopies sind mit SHIFT/ALT/HELP erzeugbar.
  222.  
  223. V 1.12:
  224. - Kein Speicherplatzverlust mehr bei mehrmaligem Start v. TEMPLMON.PRG.
  225. - Von den TRAPs wird nur TRAP #6 (f. Megamax Modula-2) abgefangen.
  226.  
  227. Eine ausführlichere Anleitung mit hilfreichen Tips zur Fehlersuche erhalten
  228. Sie ab jetzt für nur noch DM 20.- ! Ausserdem können Sie mir dadurch gleich
  229. Ihre Anerkennung zu meinem Programm bekunden. Wenn Sie noch eine einseitig
  230. formatierte Disk beilegen (achten Sie auf das richtige Porto, bei Briefen
  231. meist 1.30 DM !), können Sie Glück haben, daß ich Ihnen gleich noch eine neue
  232. Monitorversion draufkopiere.
  233.  
  234.     Mit freundlichen Grüßen       Thomas Tempelmann